【Day 21】 是介紹 line-bar chart,還有一種常見的圖是雙座標軸折線圖
scaleBand() 換成 scaleTime()
xScale = d3.scaleTime()
      .domain(d3.extent(data, d => d.年分)) 
      .rangeRound([margin.left, width - margin.right])
y1Scale = d3.scaleLinear()
    .domain([70, d3.max(data, d => d.房價指數) + 20])
    .rangeRound([height - margin.bottom, margin.top])
y2Scale = d3.scaleLinear()
    .domain([6, d3.max(data, d => d.死亡率) + 2])
    .rangeRound([height - margin.bottom, margin.top])
line1 = d3.line()
      .x(d => xScale(d.年分))
      .y(d => y1Scale(d.房價指數))
line2 = d3.line()
      .x(d => xScale(d.年分))
      .y(d => y2Scale(d.死亡率))
chart = {
  // 建立 svg,指定尺寸
  const svg = d3.create("svg")
      .attr("viewBox", [0, 0, width, height]);
  // 加入 y 軸直線
  svg.append("path")
      .attr("fill", "none")
      .attr("stroke", "black")
      .attr("stroke-miterlimit", 1) 
      .attr("stroke-width", 5)
      .attr("d", line1(data));
    svg.append("path")
      .attr("fill", "none")
      .attr("stroke", "blue")
      .attr("stroke-miterlimit", 1) 
      .attr("stroke-width", 5)
      .attr("d", line2(data));
  // 加入 x 軸
  svg.append("g")
      .call(xAxis)
      .attr("font-size", 10);
  // 加入 y1 軸
  svg.append("g")
      .call(y1Axis)
      .attr("font-size", 10);
  // 加入 y2 軸
  svg.append("g")
      .call(y2Axis)
      .attr("font-size", 10);
  return svg.node();
}

相較於十年前房價指數上升 50,死亡率上升 2.2。